using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;

using Mud.Common;
using Mud.Common.Communication;
using Mud.Common.Messages;
using Mud.Common.Threading;


using Mud.Server.Users;
using Mud.Server.Physical;


namespace Mud.Server.Client
{
    /// <summary>
    /// Represents a remote client which is connected via transporter.
    /// </summary>
    public class RemoteServerClient : AsyncClientBase
    {

        #region Remote connection


        /// <summary>
        /// Transporter which is used for accepting commands.
        /// </summary>
        public PackageTransporter CommandTransporter
        {
            get { return _commandTransporter; }
            set { _commandTransporter = value; }
        }
        private PackageTransporter _commandTransporter;


        /// <summary>
        /// Transporter which is used for receiving events.
        /// </summary>
        public PackageTransporter EventTransporter
        {
            get { return _eventTransporter; }
            set { _eventTransporter = value; }
        }
        private PackageTransporter _eventTransporter;


        #endregion


        /// <summary>
        /// Initializes a new instance of the <see cref="T:RemoteServerClient"/> class.
        /// </summary>
        /// <param name="server">Server.</param>
		public RemoteServerClient(IServer server, User user) : base(server, user) 
        {
        }


    }
}
